Such a method or such a system with the said components using the said bus protocol is employed in all areas in which peripheral modules communicate with a processing unit via a system, as is especially the case in automation technology. The main requirements here are as follows: The system bus master must be able to access the peripheral module by direct access as quickly as possible and with little latency time, the peripheral modules should be able to communicate pending alarms or pending communication requests to the system bus master as quickly as possible and the communication linkage of the peripheral modules must be able to be implemented in a cost-effective manner. In such cases either the (central) processing unit (CPU), which processes the data of the peripheral modules, or an interface module, which establishes the decentralized link via a field bus between the peripheral modules and the central processing unit, functions as the system bus master. The peripheral modules are the input and output modules which receive data from the system bus master or from which the system bus master can read data. In automation technology the peripheral modules establish the connection to the automation process. Furthermore, if the components are connected in accordance with a backplane structure, the use of a hub is possible, which behaves like a peripheral module as regards event signaling.
Regardless of the configuration, the communication sequence on the system follows the known procedures: The pending jobs are prioritized by a scheduler in the system interface of the system bus master and sent over the system bus to the peripheral modules. The peripheral modules may only send data on the bus if they have received a request from the CPU, i.e. the system bus master addresses a peripheral module through a request and waits for an appropriate response. Because of process or diagnostic events however the peripheral modules must also be able themselves to send a message to the CPU which must be transported to the CPU and processed there as quickly as possible. Since a large number of peripheral modules (typically up to 64) are able to be plugged into a system, control must be provided through a special transport mechanism for the messages to the CPU, since in the worst case all peripheral modules want to send a message to the CPU at the same time. In principle access to the bus by the individual bus users/stations, if they wish to send a message, can be defined in different ways.
With Profibus for example there is a token which is exchanged between the master stations. Only the station which has the token may send a message on the bus. All other stations are passive. This means that stations, i.e. the said peripheral modules, may only send a message to the CPU if they have the token. The result is that the reaction time is dictated by the circulation of the token. The token method (token ring, bus) currently operates at baud rates of up to 100 Mbit/s. There is no known system which operates at higher baud rates.
Profibus also supports a polling method in which the master polls all slaves, i.e. the said peripheral modules, and reads the data from the peripheral modules or writes it into the peripheral modules. In this case the reaction or response time depends on the poll cycle of the CPU, until a module can signal to the CPU that there is an alarm or communication request.
With Ethernet the switched networks have come to the fore at 100 Mbit/s. The throughput and the reaction time in such cases are heavily dependent on the available telegram memory in the individual switches and the arrangement (topology) of the switches and the users. Each user may send at any point in time. There is no guarantee however of when the message arrives at the receiver, the CPU in the case of event signaling. This depends on the remaining volume of telegrams. If a collision occurs because two users are sending simultaneously, this collision is resolved by the memory in the switch. The message arriving somewhat later is buffered in the switch and sent after the completion of the first message. There are now also systems (e.g. PROFINET) which use planning to prevent the collision in Ethernet, but this again leads to the users only being allowed to send their spontaneous communication requests, such as alarms for example, at specific, times. Ethernet offers baud rates of 10, 100 and 1000 Mbit/s and beyond.
There are also other systems (CAN-based solutions) in which the bus access and the telegram transmission are regulated by a pure priority control. Each telegram contains a prio field which uniquely prioritizes the messages. The bus access logic evaluates this field and lets the message with the highest priority pass. This type of message transfer is feasible with baud rates up to around 10 Mbit/s, beyond this there is no known system which operates with a solution of this type.
With many automation systems an additional hardware line is provided for the message path from the peripheral modules to the CPU. Here, for an active line, the system bus master had to read out the status from the peripheral modules and determine which module may issue a message to the CPU, after which the CPU could then actively read the message from the peripheral module. This resulted in a high latency time since the CPU did not immediately know on which peripheral module which message was present.
Since the CPU cannot know which module wishes to transmit a message to the CPU at which point in time, a solution is required, in which independently of the telegram processing by the CPU, a message can be transferred from the peripheral modules to the processing unit. Furthermore the system should be able to operate with baud rates of several hundred Mbit/s. A telegram method according to the request/response paradigm is thus suitable as a method or a system underlying the invention, in which the data which is made up of individual symbol, for transmission in a bit transmission layer for a transmitter is transcoded by an encoder into a larger symbol space and is converted back again at a receiver by a decoder and specific characters from the larger symbol space are used to identify start and end of a telegram and a standard idle symbol is used in telegram pauses for synchronizing a connection between the transmitter and the receiver.
8B/10B encoding is known for example from U.S. Pat. No. 4,486,739 A1, said encoding also being employed in Gigabit Ethernet. This means that the 8-bit symbols of the protocol layer in the transmitter are converted by a converter into 10-bit symbols which are then transmitted over the lines. At the receiver the 10-bit symbols are converted back by a decoder into 8-bit symbols. In this case the 10-bit symbols feature at least four level changes which guarantees DC balance and enables clock information for synchronization of the transmission stations to be obtained from the data stream.
At the 8-bit level a maximum of 256 symbols are possible, which through conversion to 10 bits can be distributed to 1024 symbols. The encoding rules used define that the 256 symbols are divided between two disjunctive symbol spaces in the 10-bit symbol space, which occupies 512 10-bit symbols. This means that 512 symbols remain which are not used as data symbols. From this additional symbol set certain symbols stand out because of their “safety margin” to other symbols. These symbols can be used to identify the start and the end of a telegram and to keep the connection between the transmit port and the receive buffer synchronized in the pauses between telegrams. These special symbols include a further class of symbols—also referred to as comma symbols—which even with any given combination of these symbols and other symbols do not create commas across symbol boundaries. These symbols are thus outstandingly well suited for determining the symbol boundaries within the data stream. In this 8B/10B encoding there are three such comma symbols. One of these, the standard idle symbol, is transmitted in the telegram pauses between the ports two of two modules. This means that the transmission is also synchronized in the telegram pauses. This applies for the direction from the CPU to the peripheral modules and also for the direction from the peripheral modules to the CPU.
This 8B/10B encoding is actually a combined 5B/6B and 3B/4B encoding. The DC freedom and integrated synchronization comes at a cost however of a 25% higher bandwidth requirement. A further development of this method exists with 64B/66B encoding, in which only approximately 3% more bandwidth is needed.